<?php

class roleController extends baseController
{
	public function show()
	{
		$this->assign('list',	Role::getList());
		$this->display();
	}

    public function add()
    {
        if(is_post())
        {
            if(!fetch_a_string('name'))
            {
				Show::warn('名称不能为空！');
            }
			$privs   = array_keys(fetch_a_array('pv'));
			$role_id = RoleHelper::add(fetch_a_string('name'), fetch_a_string('memo'), $privs);
			if(!$role_id) {
				Show::warning("保存失败，请检查数据重复");
			}
			else{
				LoggerHelper::manage("新建角色记录，名称'".fetch_a_string('name')."'，ID:{$role_id}");
				Show::note('保存成功');
			}
        }

        $this->assign('privs', PrivTableHelper::getTree(0, 1));
        $this->display();
    }
	
    public function modify()
    {
		$ddata = Role::get(fetch_a_int('id'));
        if(!$ddata)
        {
            Show::warn("该权限组信息不存在!");
        }

        if(is_post())
        {
            if(!fetch_a_string('name'))
            {
				Show::warn('名称不能为空！');
            }
			$privs	= array_keys(fetch_a_array('pv'));
			RoleHelper::modify(fetch_a_int('id'), fetch_a_string('name'), fetch_a_string('memo'), $privs);
			LoggerHelper::manage("修改角色记录，原名称'{$ddata['name']}'，ID:{$ddata['id']}");
			Show::note('保存成功');
        }

        $this->assign('role', $ddata);

        $this->assign('privs', PrivTableHelper::getTree(0, 1));
        $this->display('role-add');
    }

	/**
	 * 保存排序
	 */
	public function sort()
	{
		if(fetch_get('s'))
		{
			$tmp	=	explode(',', fetch_get('s'));
			foreach($tmp as $k=>$gid) {
				Role::update($gid, array('sort'=>$k));
			}
			LoggerHelper::manage("修改角色排序");
			Show::notice("保存成功!");
		}
		else {
			Show::error("参数错误");
		}
	}

	/**
	 * 删除
	 */
	public function delete()
	{
		if(!fetch_get('role_id','int')) {
			Show::error("参数错误");
		}
		if(RoleHelper::delete(fetch_get('role_id','int'))) {
			LoggerHelper::manage("删除角色记录，ID:".fetch_a_int('role_id'));
			Show::notice("删除成功");
		}
		else {
			Show::warning("删除失败");
		}
	}
	
}

?>
